অ্যাপাচি নিফাই (Apache NiFi) একটি শক্তিশালী ডেটা ইন্টিগ্রেশন প্ল্যাটফর্ম যা বিভিন্ন ডেটা উৎসের মধ্যে ডেটা স্থানান্তর ও প্রক্রিয়াকরণ করতে সাহায্য করে। যখন আপনার ডেটা রিলেশনাল ডেটাবেসে সংরক্ষণ করার প্রয়োজন হয়, তখন PutDatabaseRecord
এবং PutSQL
প্রোসেসর দুটি ব্যবহৃত হয়। এই প্রোসেসরগুলি ডেটাবেসের সাথে যোগাযোগ করে ডেটা ইনসার্ট, আপডেট বা অন্যান্য ডেটাবেস সম্পর্কিত কাজ সম্পাদন করতে সক্ষম।
PutDatabaseRecord
প্রোসেসরটি ব্যবহার করে আপনি রেকর্ড বেসড ডেটা (যেমন, CSV, JSON বা Avro রেকর্ড) রিলেশনাল ডেটাবেসে সন্নিবেশ করতে পারেন। এটি একটি খুবই কার্যকরী প্রোসেসর, যখন আপনি ডেটাবেসে ডেটা ইনসার্ট বা আপডেট করতে চান এবং আপনার কাছে রেকর্ডের স্ট্রাকচার (যেমন, কলাম নাম এবং টাইপ) ইতিমধ্যে আছে।
ডেটাবেস কানেকশন:
প্রথমে আপনাকে একটি ডেটাবেস কানেকশন পুল কনফিগার করতে হবে, যাতে নিফাই ডেটাবেসের সাথে যোগাযোগ করতে পারে। এই কাজের জন্য DBCPConnectionPool
বা DatabaseConnectionPool
ব্যবহার করা যেতে পারে।
কনফিগারেশন:
Database Connection Pooling Service
: এটি ডেটাবেসের সাথে কানেকশন পরিচালনা করবে।Table Name
: আপনি কোন টেবিলের মধ্যে ডেটা ইনসার্ট করতে চান তা নির্ধারণ করতে হবে।JsonTreeReader
, CSVReader
, বা AvroReader
ব্যবহার করা হয়।PutDatabaseRecord
|-> RecordReader (CSVReader)
|-> Database Connection Pooling Service (DBCPConnectionPool)
Database Connection Pooling Service
: এখানে আপনি ডেটাবেস কানেকশন পুলের সেটিংস নির্ধারণ করবেন।Table Name
: টেবিলের নাম যেটাতে ডেটা ইনসার্ট করতে চান।Record Reader
এবং Record Writer
: রেকর্ড ফর্ম্যাট কনফিগারেশন (যেমন JSON, CSV, বা Avro)।PutSQL
প্রোসেসরটি ডেটাবেসে SQL কুয়েরি ব্যবহার করে ডেটা ইনসার্ট, আপডেট বা ডিলিট করতে ব্যবহৃত হয়। এটি ব্যবহার করে আপনি সরাসরি SQL কুয়েরি চালাতে পারেন, যেমন INSERT
, UPDATE
, বা DELETE
কুয়েরি।
PutSQL
প্রোসেসরও ডেটাবেস কানেকশন ব্যবস্থাপনা করার জন্য DBCPConnectionPool
বা অন্যান্য কানেকশন পুল সার্ভিস ব্যবহার করে। এটি নিশ্চিত করে যে প্রোসেসরটি ডেটাবেসে সঠিকভাবে যোগাযোগ করছে।PutSQL
|-> Database Connection Pooling Service (DBCPConnectionPool)
|-> SQL Query (INSERT INTO users (id, name) VALUES (:id, :name))
Database Connection Pooling Service
: ডেটাবেস কানেকশন পুলের কনফিগারেশন।SQL Statement
: SQL কুয়েরি যা ইনপুট FlowFile এর উপর ভিত্তি করে চালানো হবে। আপনি এখানে প্রপার্টি প্লেসহোল্ডার ব্যবহার করতে পারেন (যেমন, :id
, :name
)।বৈশিষ্ট্য | PutDatabaseRecord | PutSQL |
---|---|---|
ডেটার উৎস | রেকর্ড ফরম্যাট (CSV, JSON, Avro) | SQL কুয়েরি ব্যবহার করে ডেটা ইনসার্ট বা আপডেট করা |
ডেটার ফরম্যাট | রেকর্ড (Structured Data) | SQL কুয়েরি (Unstructured Data) |
ডেটা ইনসার্ট কৌশল | ডেটা মডেল বা স্কিমা অনুযায়ী রেকর্ড ইনসার্ট করা | কাস্টম SQL কুয়েরি ব্যবহার করে ডেটা ইনসার্ট করা |
ডেটাবেস সংযোগ | ডেটাবেস কানেকশন পুল সিস্টেম ব্যবহার করা | ডেটাবেস কানেকশন পুল সিস্টেম ব্যবহার করা |
অ্যাপাচি নিফাইতে ডেটাবেসে ডেটা সংরক্ষণের জন্য দুটি গুরুত্বপূর্ণ প্রোসেসর হলো PutDatabaseRecord
এবং PutSQL
। PutDatabaseRecord
রেকর্ড ফরম্যাটে ডেটা ইনসার্ট করার জন্য উপযুক্ত, যেখানে ডেটাবেস টেবিলের কলাম অনুযায়ী রেকর্ড ইনপুট করা হয়। অপরদিকে, PutSQL
SQL কুয়েরি ব্যবহার করে সরাসরি ডেটাবেসে ডেটা ইনসার্ট বা আপডেট করার জন্য ব্যবহৃত হয়। এদের ব্যবহারে, ডেটাবেসে ডেটা সংরক্ষণ করা খুবই সহজ এবং কার্যকরী হয়, এবং এটি নিফাই ফ্লোতে আরও নমনীয়তা প্রদান করে।
common.read_more